如何在localhost上设置.htaccess mod_rewrite?

时间:2016-10-26 18:41:12

标签: php .htaccess mod-rewrite

我有一个域名和一个网页。我一直在努力创建一个动态网站。它已经完成,但是我无法在我的本地服务器上配置我的SEO友好解决方案。这是我的PHP代码:

foreach

这是我的.htaccess代码:

$host = '';
$base = '/something/';
$baselength = strlen($base);
$url = substr($_SERVER['REQUEST_URI'],$baselength);

$url = array_merge(array('path'=>''),parse_url($url));

$get = explode('/',$url['path']);
$_GET['oldalak'] = ($get) ? array_shift($get) : '';
$_GET['aloldal'] = ($get) ? array_shift($get) : '';

$oldal = isset($_GET['pages']) ? $_GET['pages'] : '';
$oldal = 'pages/'.basename($oldal).'.php';
$oldal = (file_exists($oldal)) ? $oldal : 'pages/kezdolap.php';

$aloldal = isset($_GET['services']) ? $_GET['services'] : '';
$aloldal = 'pages/services/'.basename($aloldal).'.php'; 

有效!但是,我真的不知道,我能做什么,这个代码可以在我的服务器上运行。

我尝试了一切。我修改了我的代码。这是我的新代码。

<IfModule mod_rewrite.c>

RewriteEngine On

RewriteBase /something

RewriteCond %{REQUEST_FILENAME} !-f

RewriteCond %{REQUEST_FILENAME} !-d

RewriteRule ^([^/]+)(/([^/]+))? index.php?pages=$1&services=$3&%{QUERY_STRING}
</IfModule>

我的网页不在子目录中,因此重写基本条件是可以的。与$host = 'http://something.hu'; $base = ''; <IfModule mod_rewrite.c> RewriteEngine On RewriteBase / RewriteCond %{REQUEST_FILENAME} !-f RewriteCond %{REQUEST_FILENAME} !-d RewriteRule ^([^/]+)(/([^/]+))? index.php?pages=$1&services=$3&%{QUERY_STRING} </IfModule> 相同。或不? 我试图修改为:

$base variable

我尝试修改其他内容,但它一直没有在我的服务提供商上工作。为什么会这样? 谢谢!

1 个答案:

答案 0 :(得分:0)

您的RewriteBase应以斜杠结尾,并与您的$base变量相同。对于没有子目录,它们都应该只是/