我遵循了本网站的指示:
http://www.datakoncepts.com/seo
mod_rewrite正在运行,因为我首先使用:
print_r(in_array('mod_rewrite', apache_get_modules()));
并返回一个,但是当我进行页面上提到的测试时(创建test.html和test.php并获得将test.html交换到test.php的规则),它正在工作。
所以现在我有一个网页,例如:www.toto.com/TEST/category.php?cat = 1
并且规则是(为了取悦Mike我添加了RewriteEngine On):
RewriteEngine On
RewriteRule ^([a-zA-Z_]+)/$ category.php?cat=$1 [L]
我也尝试过:
RewriteRule ^([^/\.]+)/?$ category.php?cat=$1 [L]
这不起作用?有人可以帮忙吗?
PS:.htaccess位于www.toto.com/TEST /
我正在使用XAMPP在localhost上测试它。
问题是我认为这实际上会修改URL的样子。所以它确实似乎做出了替代。例如:
RewriteRule ^index.php category.php?cat=$1 [L]
实际上会将category.php?cat = 1的内容交换为^ index.php,但我想要的是重写URL。换句话说:
RewriteRule ^category/([a-zA-Z0-9_-]+)$ category.php?cat=$1 [L]
显示为:
www.toto.com/TEST/category/1 /
URL中的(假设原始网址为www.toto.com/TEST/category.php?cat=1)。
在我的特殊情况下,似乎并非如此?为什么?那我们怎么做呢?
答案 0 :(得分:0)
你走了;
如果根文件夹中的.htaccess文件
RewriteEngine On
Options +FollowSymLinks
RewriteRule ^TEST/category/([a-zA-Z0-9_-]+)$ /TEST/category.php?cat=$1 [QSA]
如果您的.EST文件夹中的.htaccess文件
RewriteEngine On
Options +FollowSymLinks
RewriteRule ^category/([a-zA-Z0-9_-]+)$ category.php?cat=$1 [QSA]
测试网址: http://emrerothzerg.com/stackoverflow/index/212
http://emrerothzerg.com/stackoverflow/index.php?cat=212
CODES:
RewriteEngine On
Options +FollowSymLinks
RewriteRule ^index/([a-zA-Z0-9_-]+)$ index.php?cat=$1 [QSA]
P.S。 / stackoverflow /文件夹中的.htaccess文件