Невозможно заставить url mod_rewrite работать в xampp (windows 8) - PullRequest
0 голосов
/ 11 сентября 2018

Независимо от того, сколько я пытался заставить переписать URL-адрес на работу, он просто продолжал давать сбои, и я много раз искал в Google и пробовал много кодов даже здесь, на stackoverflow, и ни один из них не работал для меня и в конце дня,Я вынужден обратиться за помощью.

Я хочу, как, например, когда пользователь нажимает на ссылку, я хочу, чтобы пользователи отображали красивый формат URL веб-сайта в браузере таким образом,или структура, аналогичная Facebook, stackoverflow, wikipedia и т. д., когда пользователь посещает localhost:jokes=edit?4, он форматирует его в jokes/edit/4 или что-то в этом роде.

Сначала я настроилВиртуальный хост и виртуальный хост, который я настраиваю, это

#Directory structure
<Directory C:/alls>
    AllowOverride All
    Require all granted
</Directory>

#this is the default address of XAMPP    
<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
</VirtualHost>
<VirtualHost *:80>
    DocumentRoot "C:/alls/ijdb/public"
    ServerName ijdb.localhost
    SetEnv NS_ENV variable_value
</VirtualHost>

И в httpd.conf я включил все

AllowOverride

в

все

и в файле hosts добавьте это

127.0.0.1   ijdb.localhost

Затем создайте его в .htaccess

RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !d
RewriteRule ^.*$ index.php [NC,L,QSA]

Пока что, когда я нажимаю на любую другую ссылку, кроме домашней ссылки, она возвращает объектне найденУ меня вопрос, как я могу это решить?

Я использую XAMPP3.2.2, который поставляется по умолчанию с Apache 2.2.34

Из журнала ошибок, это то, что я видел там.Я не знаю, имеет ли это какое-либо отношение к этому так или иначе ...

[Tue Sep 11 02:07:31.554559 2018] [ssl:warn] [pid 1012:tid 376] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Tue Sep 11 02:07:32.123856 2018] [ssl:warn] [pid 1012:tid 376] AH01909: www.example.com:443:0 server certificate does NOT include an ID which matches the server name
[Tue Sep 11 02:07:32.239860 2018] [mpm_winnt:notice] [pid 1012:tid 376] AH00354: Child: Starting 150 worker threads.

1 Ответ

0 голосов
/ 11 сентября 2018

Сначала убедитесь, что rewrite_module включен или нет. Перейдите в apache bin и загрузите список модулей, например cd c:\xampp\apache\bin && apache2.exe -M

Затем измените ваш виртуальный хост, как показано ниже:

<VirtualHost *:80>
    DocumentRoot "C:/alls/ijdb/public"
    ServerName ijdb.localhost
    SetEnv NS_ENV variable_value
    <Directory "C:/alls/ijdb/public">
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

Проверьте c:\xampp\apache\logs\error.log файл для более подробной информации.

...