.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]
谢谢。你能解释一下上面的代码吗?什么是%{REQUEST_FILENAME}!-d和%{REQUEST_FILENAME}!-f。它执行的操作 – Praveen 2014-11-25 13:41:18
'%{REQUEST_FILENAME}!-d'表示请求是否不是用于目录,'%{REQUEST_FILENAME}!-f'表示请求不是用于文件。你有没有测试过它? – anubhava 2014-11-25 14:30:10