在本网站和wamp localhost上
http://www.aproapetot.ro/page.php?categ_id=1&id=1
http://localhost/aproapetot-backup/page.php?categ_id=1&id=1
我尝试构建.htaccess,但没有任何成功。
这是我在网站上写的:
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^page-([0-9]+).html$ page.php?categ_id=$1
RewriteRule ^page\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
</IfModule>
和本地主机
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /aproapetot-backup/
RewriteRule index.php index.html
RewriteRule ^page-([0-9]+).html$ page.php?categ_id=$1
RewriteRule ^page\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
</IfModule>
有人请帮忙。
这是一个带笑话的网站,所以在.ro / page.php之后?categ_id = 1&amp; id = 1我有一个类别(1)和子类别(1)。 我想要这样 .ro / jokes / doctors而不是现在如何。
答案 0 :(得分:0)
根据htaccess内容,我不完全确定你想要什么,但我明白你想要/笑话/医生被重写为/pages.php
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !pages.php [NC]
RewriteRule ^(.*)$ /pages.php [L]
上述代码将重写对pages.php的所有请求,只要:
最后,您可以使用PHP来获取参数:
/* Get all parameters from the URL */
$_GET['path'] = rawurldecode( $_SERVER['REQUEST_URI'] );
/* Remove double slashes and backslahses and convert all slashes and backslashes to '/' */
$_GET['path'] = preg_replace( array('#[/\\\\]+#', '/(\/\.)+(\/)/'), '/', $_GET['path']);
$_GET['path'][0] should contain "jokes"
$_GET['path'][0] should contain "doctors"
==编辑==
使用htaccess重定向(不是最好的方法)
Redirect 301 /page.php?categ_id=6&id=0 /anecdotes
Redirect 301 /page.php?categ_id=1&id=1 /jokes/doctors
PHP(或其他服务器端脚本)。您可以检查网址是否实际上有数字(请参阅$_SERVER['REQUEST_URI']
),如果是,请在页面中添加一些标题重定向。
<?PHP
header('Location: www.aproapetot.ro/' . $cat . '/' . $subcat );
?>