.htaccess REQUEST_URI只有一个字符重定向

问题描述:

我是htaccess的基础知识。我有一个与htacess搜索引擎友好URL的问题。.htaccess REQUEST_URI只有一个字符重定向

对于防爆: 如果URL像www.example.com/A那么htaccess的应该重定向到浏览-category.php字母表1

= $我的代码,但不工作:

RewriteCond %{REQUEST_URI} [a-zA-Z]{1}$ 
RewriteRule ^([a-zA-Z0-9-/]+)$ browse-category.php?alphabet=$1 

如果URL类似于www.example.com/add-business那么它应该重定向到$ 1.php。

请帮助我,在此先感谢

您可以在DOCUMENT_ROOT/.htaccess文件中使用此代码:

RewriteEngine On 
RewriteBase/

# if a matching .php file exists then internally forward /file to /file.php 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{DOCUMENT_ROOT}/$1\.php -f [NC] 
RewriteRule ^(.+?)/?$ /$1.php [L] 

# otherwise forward to browse-category.php?alphabet=$1 
RewriteCond %{REQUEST_FILENAME} !-d 
RewriteCond %{REQUEST_FILENAME} !-f 
RewriteRule ^(.+)$ browse-category.php?alphabet=$1 [L,QSA] 
+0

谢谢。你能解释一下上面的代码吗?什么是%{REQUEST_FILENAME}!-d和%{REQUEST_FILENAME}!-f。它执行的操作 – Praveen 2014-11-25 13:41:18

+0

'%{REQUEST_FILENAME}!-d'表示请求是否不是用于目录,'%{REQUEST_FILENAME}!-f'表示请求不是用于文件。你有没有测试过它? – anubhava 2014-11-25 14:30:10